package com.wicket.okrcomponent.integration.dto;




import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;


/**
 * @desc ConfItemOptionDto
 * @使用场景
 */
@Data
public class ConfItemOptionDto extends BaseDto implements Serializable {

    /**
     * 配置项下选项关系ID:
     */
    @ApiModelProperty("配置项下选项关系ID")
    private String confOptionRshipId;

    /**
     * 冗余配置项ID:
     */
    @ApiModelProperty("冗余配置项ID")
    private String confItemId;

    /**
     * 配置项标识:
     */
    @ApiModelProperty("配置项标识")
    private String confItemCode;

    /**
     * 冗余配置选项ID:
     */
    @ApiModelProperty("冗余配置选项ID")
    private String confOptionId;

    /**
     * 配置选项标识:
     */
    @ApiModelProperty("配置选项标识")
    private String confOptionCode;

    /**
     * 冗余配置选项名称:
     */
    @ApiModelProperty("冗余配置选项名称")
    private String confOptionName;

    /**
     * 选项结果ID:
     */
    @ApiModelProperty("选项结果ID")
    private String optionResultId;

    /**
     * 结果值:
     */
    @ApiModelProperty("结果值")
    private String endValue;

    /**
     * 结果类型:
     */
    @ApiModelProperty("结果类型")
    private String resultType;

    /**
     * 选项类型:
     */
    @ApiModelProperty("选项类型")
    private String optionType;

    /**
     * 是否定制结果:
     */
    @ApiModelProperty("是否定制结果")
    private String isCeResult;
    /**
     * 配置选项业务描述:
     */
    @ApiModelProperty("配置选项业务描述")
    private String confOptionDes;
/**
     * 选项图标 
     */
    @ApiModelProperty("选项图标")
    private String	 confOptionIcon;

    /**
     * 选项别名 
     */
    @ApiModelProperty("选项别名")
    private String	 confOptionAlias;
/**
     * 排序 
     */
    @ApiModelProperty("排序")
    private Long	 orderNumber;

    /**
     * 扩展字段1 
     */
    @ApiModelProperty("扩展字段1 ")
    private String	 extensionField1;

    /**
     * 扩展字段2 
     */
    @ApiModelProperty("扩展字段2")
    private String	 extensionField2;

    @Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      ConfItemOptionDto that = (ConfItemOptionDto) o;
      return  confOptionRshipId == that.confOptionRshipId&&confItemId == that.confItemId&&confItemCode == that.confItemCode&&confOptionId == that.confOptionId&&confOptionCode == that.confOptionCode&&confOptionName == that.confOptionName&&optionResultId == that.optionResultId&&endValue == that.endValue&&resultType == that.resultType&&optionType == that.optionType&&isCeResult == that.isCeResult&&confOptionDes == that.confOptionDes&&confOptionIcon == that.confOptionIcon&&confOptionAlias == that.confOptionAlias&&orderNumber == that.orderNumber&&extensionField1 == that.extensionField1&&extensionField2 == that.extensionField2;
    }

    @Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), confOptionRshipId,confItemId,confItemCode,confOptionId,confOptionCode,confOptionName,optionResultId,endValue,resultType,optionType,isCeResult,confOptionDes,confOptionIcon,confOptionAlias,orderNumber,extensionField1,extensionField2);
    }

}
